﻿// 3642. 最大公约数和最小公倍数.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>


using namespace std;
/*
https://www.acwing.com/problem/content/3645/


输入两个正整数 m和 n，求其最大公约数和最小公倍数。

输入格式
一行，两个整数 m 和 n。

输出格式
一行，输出两个数的最大公约数和最小公倍数。

数据范围
1≤n,m≤10000
输入样例：
5 7
输出样例：
1 35
*/

int n, m;

int gcd(int a, int b)
{
	return b ? gcd(b, a % b) : a;
}

int lcm(int a, int b)
{
	return a * b / gcd(a, b);
}


int main()
{
	cin >> n >> m;
	cout << gcd(n, m) << " " << lcm(n, m) << endl;

	return 0;
}
